PHP 代碼審計命令執行函數有哪些?
exec() -執行一個外部程序passthru()一執行外部程序并且顯示原始輸出proc_ open0一執行一個命令 ,并且打開用來輸入/輸出的文件指針。shell, _exec()&” -通過shell環境執行命令,并且將完整的輸出以字符串的方式返回。system()一執行外部程序,并且顯示輸出popen0 -通過popen()的參數傳遞一 條命令,并對popen(所打開的文件進行執行。執行函數包括但不限于,上述幾個。同樣的道理、只要命令的參數可控就能夠執行系統命令。例如:
system( $cmd ); 或者system("ping -c3'. $target );當$cmd可以空就能執行任意命令,而當$target可控的話,可以用管道符等特殊字符截斷從而執行任意命令。$target = ‘a | whoami’;
system( $cmd ); 或者system("ping -c3'. $target );
回答所涉及的環境:聯想天逸510S、Windows 10。
exec() -執行一個外部程序
passthru()一執行外部程序并且顯示原始輸出
proc_ open0一執行一個命令 ,并且打開用來輸入/輸出的文件指針。
shell, _exec()&” -通過shell環境執行命令,并且將完整的輸出以字符串的方式返回。
system()一執行外部程序,并且顯示輸出
popen0 -通過popen()的參數傳遞一 條命令,并對popen(所打開的文件進行執行。
執行函數包括但不限于,上述幾個。
同樣的道理、只要命令的參數可控就能夠執行系統命令。
例如:
system( $cmd ); 或者system("ping -c3'. $target );當$cmd可以空就能執行任意命令,
而當$target可控的話,可以用管道符等特殊字符截斷從而執行任意命令。
$target = ‘a | whoami’;
回答所涉及的環境:聯想天逸510S、Windows 10。